package uva.sc.ql.gui.questions;
import java.awt.Component;
import java.util.List;
import java.util.Map;
import uva.sc.core.types.Boolean;
import uva.sc.core.types.Type;
import uva.sc.ql.atom.ID;
import uva.sc.ql.evaluator.QuestionsPropertiesVisitor;
public class QuestionFactory {
public Question questionType(uva.sc.ql.statements.Question question,
QuestionsPropertiesVisitor questionProperties,
Map<ID, List<ID>> patronElements, List<Component> componentList) {
Type type = question.getType();
Question questionType = null;
if (type.equals(new Boolean())) {
questionType = new CheckBoxQuestion(patronElements,
questionProperties, componentList);
} else if (type.equals(new String())) {
questionType = new TextBoxQuestion(patronElements,
questionProperties, componentList);
} else {
questionType = new CalculatedQuestion(patronElements,
questionProperties, componentList);
}
return questionType;
}
}